package com.xinqi.modules.exam.common.delayed.handler;

import com.xinqi.common.core.utils.StringUtils;
import com.xinqi.modules.exam.common.delayed.api.MqQueueHandler;
import com.xinqi.modules.exam.common.enums.ExamQueueEnum;
import com.xinqi.modules.exam.student.service.CourseExamPaperStudentService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 生成试卷 - 事件监听
 *
 * @author linkai
 * @date 2023/7/7
 */
@Slf4j
@Component
@RequiredArgsConstructor
public class GenerateStudentPaperHandler implements MqQueueHandler {
    private final CourseExamPaperStudentService courseExamPaperStudentService;

    /**
     * 主题名称
     */
    @Override
    public String queueName() {
        return ExamQueueEnum.生成试卷.queueName();
    }

    /**
     * 处理任务
     */
    @Override
    public void handleTask(String taskId) {
        log.info("=====> 主题事件处理，生成试卷-start! task={}", taskId);
        if (StringUtils.isBlank(taskId)) {
            return;
        }
        // 生产学生试卷
        courseExamPaperStudentService.generateStudentPaper(Long.parseLong(taskId));
        log.info("=====> 主题事件处理，生成试卷-end!!! task={}", taskId);
    }
}
